package com.jason.cloud.engine.share.driver.pack.service;

import com.jason.cloud.engine.share.driver.pack.bean.PackBean;

import java.util.List;

public interface PackService {

    /**
     * 根据ID查询对象
     * @param id
     * @return
     */
    PackBean queryPackById(String id);

    /**
     * 保存
     * @param pack
     * @return
     */
    void insertPack(PackBean pack);

    /**
     * 查询否为默认的套餐
     * @return
     */
    PackBean queryDefaultPackByIsDefault();

    /**
     * 列举出所有的资费
     * @return
     */
    List<PackBean> getPackByLimit(int start, int stop);

    /**
     * 计数资费
     * @return
     */
    int getPackCount();

    /**
     * 设置资费状态为废弃
     * @param id
     */
    void updatePackStatusDisabledById(String id);

    /**
     * 设置资费状态为可用
     * @param id
     */
    void updatePackStatusEnabledById(String id);

    /**
     * 设置资费为注册默认
     * @param id
     */
    void updatePackIsDefaultById(String id);

    /**
     * 设置资费为注册非默认
     * @param id
     */
    void updatePackNotDefaultById(String id);

    /**
     * 加载资费
     * @return
     */
    List<PackBean> getPackByEnabled();
}
